package com.yl.chainStore.services.warehouse

import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.yl.chainStore.entity.warehouse.WarehouseOutOrder
import com.yl.chainStore.entity.warehouse.WarehouseOutOrderDetail
import com.yl.chainStore.pojo.vo.warehouse.WarehouseOutOrderSelectVo
import com.yl.common.control.ResponseBody

/**
 * 仓库出库单
 */
interface IWarehouseOutOrderService {

	/**
	 * 订单添加明细
	 */
	fun addOrderDetail(detail:WarehouseOutOrderDetail):ResponseBody

	/**
	 * 修改订单的明细
	 */
	fun updateDetail(detail: WarehouseOutOrderDetail):ResponseBody

	/**
	 * 删除订单明细
	 */
	fun delDetail(id: Long):ResponseBody

	/**
	 * 出库单
	 */
	fun getOutOrder(id: Long): WarehouseOutOrder?

	/**
	 * 出库明细
	 */
	fun getOutOrderDetails(id: Long): List<WarehouseOutOrderDetail>

	/**
	 * 提交出库
	 */
	fun completeOutOrder(id: Long): ResponseBody

	/**
	 * 出库完成
	 */
	fun completeOutOrder(outOrder: WarehouseOutOrder): ResponseBody

	/**
	 * 出库审核不通过
	 */
	fun noPassOutOrder(id: Long): ResponseBody

	/**
	 * 取消出库（作废）
	 */
	fun cancelOutOrder(id: Long): ResponseBody

	/**
	 * 删除出库
	 */
	fun deleteOutOrder(id: Long):ResponseBody
}